package com.yanqu.road.entity.banquet.autoopen;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.*;

@FieldTypeAnnotation(tableName = "t_u_auto_open_banquet_activity_data", desc = "宴会争霸自动开宴")
public class UserAutoBanquetActivityData extends DataObject {

    @FieldTypeAnnotation(select = true, update = true, desc = "活动ID")
    private int activityId;

    @FieldTypeAnnotation(update = true, desc = "玩家ID")
    private long userId;

    @FieldTypeAnnotation(desc = "宴会类型")
    private int banquetType;

    @FieldTypeAnnotation(desc = "预扣道具")
    private String preReduceGoods;

    @FieldTypeAnnotation(desc = "当前场次")
    private int curTimes;

    @FieldTypeAnnotation(desc = "当前总场次")
    private int allTimes;

    @FieldTypeAnnotation(desc = "宴会记录")
    private List<BanquetAutoOpenRecord> openRecordList = new ArrayList<>();

    @FieldTypeAnnotation(desc = "宴会结算")
    private Map<String, List<BanquetAutoOpenSettleMember>> settleMap = new HashMap<>();

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if(this.activityId != activityId) {
            this.activityId = activityId;
            setUpdateOption();
        }
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public int getBanquetType() {
        return banquetType;
    }

    public void setBanquetType(int banquetType) {
        if(this.banquetType != banquetType) {
            this.banquetType = banquetType;
            setUpdateOption();
        }
    }

    public String getPreReduceGoods() {
        return preReduceGoods;
    }

    public void setPreReduceGoods(String preReduceGoods) {
        if(!Objects.equals(this.preReduceGoods, preReduceGoods)) {
            this.preReduceGoods = preReduceGoods;
            setUpdateOption();
        }
    }

    public int getCurTimes() {
        return curTimes;
    }

    public void setCurTimes(int curTimes) {
        if(this.curTimes != curTimes) {
            this.curTimes = curTimes;
            setUpdateOption();
        }
    }

    public int getAllTimes() {
        return allTimes;
    }

    public void setAllTimes(int allTimes) {
        if(this.allTimes != allTimes) {
            this.allTimes = allTimes;
            setUpdateOption();
        }
    }

    public List<BanquetAutoOpenRecord> getOpenRecordList() {
        return openRecordList;
    }

    public void setOpenRecordList(List<BanquetAutoOpenRecord> openRecordList) {
        this.openRecordList = openRecordList;
        setUpdateOption();
    }

    public Map<String, List<BanquetAutoOpenSettleMember>> getSettleMap() {
        return settleMap;
    }

    public void setSettleMap(Map<String, List<BanquetAutoOpenSettleMember>> settleMap) {
        this.settleMap = settleMap;
        setUpdateOption();
    }
}
